Análisis de Matriculas de Educación Superior

Hito 3

Javiera Alegría, Adriana Concha, Erick Perez, Alonso Uribe

Introducción

En el presente proyecto se busca poner en práctica los conocimientos adquiridos a lo largo del curso Introducción a la Minería de Datos, para ello se realizará un análisis de datos recogidos sobre Matrículas de Educación Superior entre los años 2010 y 2019. La fuente del set de datos corresponde al Servicio de Información de Educación Superior (SIES) y presenta un registro de 1.2 millones de matrículas aproximadamente por año, con información relacionada a nombre de la sede, región de la sede, rango de edad del matriculado, entre otros que se detallan más adelante.

La relevancia de estos datos radica en que, al realizar un análisis sobre ellos, podríamos obtener información que ayude a mejorar el acceso a la educación superior. Lo anterior, a través de información respecto a la demanda de educación y el cómo ésta se distribuye en la sociedad, lo que permitiría atacar de forma eficiente sesgos o problemáticas sociales inherentes a este proceso. También nos permite observar rasgos característicos que llevan a la deserción en la educación superior y, por ende, facilitar la búsqueda de soluciones a estos problemas.

Análisis Exploratorio

En esta sección se describe el proceso realizado para adaptar el conjunto de datos, con el fin de poder trabajar con ellos, y, además, el proceso a través del cual se logró entender los datos y así plantearse preguntas acorde.

Características del dataset inicial

Esta información se obtuvo del documento disponible en la página de descarga de los datos, en él se describe cada columna y, en algunos casos, se indican los valores posibles. Además, para observar en detalle las columnas se utilizaron las siguientes funciones de la librería Pandas, el output se adjunta en la sección Anexos, DataSet;

Para comprender mejor el dataset, se graficó la cantidad de datos anuales y el porcentaje de datos nulos en cada año, ambos gráficos se muestran a continuación y sus códigos respectivos se muestran en la sección Anexos, DataSet.

Limpieza de los datos

En este ámbito se busca homogeneizar el tipo de dato para cada columna y la forma en que se representa un valor nulo a lo largo de todos los datos. De esta manera, se reemplazan las distintas formas de un dato nulo a el valor Nan de la librería numpy y se transforman los tipos de datos de las columnas a un solo tipo para cada una. El código principal se muestra en Anexos, Limpieza de datos.

Correlación entre columnas

Desechamos ciertas columnas redundantes o con alta correlación, que a simple vista describen el mismo fenómeno con distintos niveles de detalle. Aún así, nos reservamos la posibilidad de utilizar cualquier columna que consideremos necesaria para futuros análisis. Este procedimiento, más que nada, es para hacernos una “vista panorámica” de la naturaleza de los datos, y con esto poder hacer preguntas más concretas.

Como en el dataset tenemos en su mayoría atributos nominales, con el propósito de observar alguna correlación entre ellos, los desplegamos mediante la vectorización “One Hot Encoding”, ésta consiste en representar el atributo como un vector de dimensión igual a la cantidad de valores distintos en dicho atributo, y asignar para cada valor un vector ortonormal a todos los demás. Luego de esto, fue posible generar una matriz de correlación con los valores desplegados de los siguientes atributos;

El código a continuación permite obtener un heatmap de la correlación entre todos los años.

Por otro lado, para aplicar One Hot a las columnas del año 2011, 2015 y 2019, primero se obtienen los tipos de cada columa en un dataframe, luego, para cada columna, se verfica si su tipo es object y si no corresponde a columnas con datos nominales arbitrarios o presentes en un solo año. Así, a las columnas que pasan el filtro se les aplica One Hot y se guarda su resultado en un archivo .csv. El código especifico se muestra en Anexos, OneHot.

En el bloque a continuación se seleccionan las columnas a utilizar del dataframe que no requieren ser transformadas, luego, se seleccionan las columnas que si requieren transformación y se quieren utilizar en la correlación. Entre ambos conjuntos se hace merge para obtener un solo DataFrame con toda la información.

Sobre el DataFrame obtenido se busca la correlación y el resultado se muestra en un HeatMap adjuntado en Anexos, HeatMap de los datos. Para una mejor comprensión del resultado a continuación se muestra la versión interactiva del HeatMap obtenido.

Correlación entre variables de datos de Matriculas en Educación Superior
Correlación entre variables de datos de Matriculas en Educación Superiorcat periodoMRUNGEN ALUFEC NAC ALUanio ing carr orisem ing carr orianio ing carr actsem ing carr actcod instcod sedecod carreraversiondur estudio carrdur proceso titdur total carrvalor matriculavalor arancelcodigo demreacre inst anionivel carrera 2 Carreras Profesionalesnivel carrera 2 Carreras Técnicasnivel carrera 2 Doctoradonivel carrera 2 Magisternivel carrera 2 Postítuloregion sede Antofagastaregion sede Arica y Parinacotaregion sede Atacamaregion sede Aysénregion sede Biobíoregion sede Coquimboregion sede La Araucaníaregion sede Lib. Gral B. O'Higginsregion sede Los Lagosregion sede Los Ríosregion sede Magallanesregion sede Mauleregion sede Metropolitanaregion sede Tarapacáregion sede Valparaísoregion sede Ñublearea conocimiento Administración y Comercioarea conocimiento Agropecuariaarea conocimiento Arte y Arquitecturaarea conocimiento Ciencias Básicasarea conocimiento Ciencias Socialesarea conocimiento Derechoarea conocimiento Educaciónarea conocimiento Humanidadesarea conocimiento Saludarea conocimiento Sin área definidaarea conocimiento Tecnologíatipo inst 2 Centros de Formación Técnicatipo inst 2 Institutos Profesionalestipo inst 2 Universidades (* Carrera en Convenio)tipo inst 2 Universidades CRUCHtipo inst 2 Universidades Privadasacreditada carr ACREDITADAacreditada carr NO ACREDITADAacreditada inst ACREDITADAacreditada inst NO ACREDITADAjornada A Distanciajornada Diurnojornada Otrojornada Semipresencialjornada Vespertinomodalidad No Presencialmodalidad Presencialmodalidad Semipresencialrango edad 15 a 19 añosrango edad 20 a 24 añosrango edad 25 a 29 añosrango edad 30 a 34 añosrango edad 35 a 39 añosrango edad 40 y más añosrequisito ingreso Bachilleratorequisito ingreso Ciclo Básicorequisito ingreso Educación Mediarequisito ingreso Especialidad Médica u Odontológicarequisito ingreso Licenciaturarequisito ingreso Magísterrequisito ingreso Plan Comúnrequisito ingreso Postítulorequisito ingreso Técnico de Nivel Superiorrequisito ingreso Título Profesionaltipo plan carr Plan Especialtipo plan carr Plan Regulartipo plan carr Plan Regular de Continuidadvigencia carrera VIGENTE CON ALUMNOS NUEVOSvigencia carrera VIGENTE SIN ALUMNOS NUEVOScat periodoMRUNGEN ALUFEC NAC ALUanio ing carr orisem ing carr orianio ing carr actsem ing carr actcod instcod sedecod carreraversiondur estudio carrdur proceso titdur total carrvalor matriculavalor arancelcodigo demreacre inst anionivel carrera 2 Carreras Profesionalesnivel carrera 2 Carreras Técnicasnivel carrera 2 Doctoradonivel carrera 2 Magisternivel carrera 2 Postítuloregion sede Antofagastaregion sede Arica y Parinacotaregion sede Atacamaregion sede Aysénregion sede Biobíoregion sede Coquimboregion sede La Araucaníaregion sede Lib. Gral B. O'Higginsregion sede Los Lagosregion sede Los Ríosregion sede Magallanesregion sede Mauleregion sede Metropolitanaregion sede Tarapacáregion sede Valparaísoregion sede Ñublearea conocimiento Administración y Comercioarea conocimiento Agropecuariaarea conocimiento Arte y Arquitecturaarea conocimiento Ciencias Básicasarea conocimiento Ciencias Socialesarea conocimiento Derechoarea conocimiento Educaciónarea conocimiento Humanidadesarea conocimiento Saludarea conocimiento Sin área definidaarea conocimiento Tecnologíatipo inst 2 Centros de Formación Técnicatipo inst 2 Institutos Profesionalestipo inst 2 Universidades (* Carrera en Convenio)tipo inst 2 Universidades CRUCHtipo inst 2 Universidades Privadasacreditada carr ACREDITADAacreditada carr NO ACREDITADAacreditada inst ACREDITADAacreditada inst NO ACREDITADAjornada A Distanciajornada Diurnojornada Otrojornada Semipresencialjornada Vespertinomodalidad No Presencialmodalidad Presencialmodalidad Semipresencialrango edad 15 a 19 añosrango edad 20 a 24 añosrango edad 25 a 29 añosrango edad 30 a 34 añosrango edad 35 a 39 añosrango edad 40 y más añosrequisito ingreso Bachilleratorequisito ingreso Ciclo Básicorequisito ingreso Educación Mediarequisito ingreso Especialidad Médica u Odontológicarequisito ingreso Licenciaturarequisito ingreso Magísterrequisito ingreso Plan Comúnrequisito ingreso Postítulorequisito ingreso Técnico de Nivel Superiorrequisito ingreso Título Profesionaltipo plan carr Plan Especialtipo plan carr Plan Regulartipo plan carr Plan Regular de Continuidadvigencia carrera VIGENTE CON ALUMNOS NUEVOSvigencia carrera VIGENTE SIN ALUMNOS NUEVOS

Comportamientos de los datos

Como primera visualización es interesante analizar la distribución del costo de los aranceles entre las distintas regiones del país, como también el incremento de estos a lo largo de los años; para lo anterior se transforman los datos agrupando por rango de edad, genero y área de conocimiento, luego se cuenta la cantidad de aparaciones de cada triplete por año, por último se promedian los valores encontrados por año. El código para obtener los datos a graficar se adjunta en la sección Anexos, Comportamiento de los datos.

Así se obtiene la siguiente figura utilizando D3.js. Esta responde, finalmente, a la pregunta ¿Cómo se relaciona el área de conocimiento de la carrera con la edad y género de la persona que se matricula?. En ella podemos ver una tendencia marcada que se condice con los roles de género establecidos socialmente.

Relación entre Área de conocimiento, edad y género

Para continuar comprendiendo los datos, nos planteamos la pregunta ¿Existe una correlación entre el costo de las carreras y su ubicación geográfica? ¿Varía esto a través de los años?, para ello se selecciona el código de la carrera, el valor del arancel y la región de la sede, se eliminan los duplicados y se agrupan por región para obtener el promedio de los valores de arancel de las diferentes carreras. Lo anterior se hace para los años 2011, 2013, 2015, 2017 y 2019. Por último, se normaliza según la UF de cada año comprendiendo que los datos originales están en pesos chilenos y esta moneda se ve afectada por la inflación anualmente.

El código específico se muestra en la sección Anexos, Comportamiento de los datos. Con el fin de comprender mejor los datos finales, estos se expotaron al software Tableu para graficar.

Se extrae de la imagen que el valor (promedio) de los aranceles varían por región, siendo el valor más alto en la Región Metropolitana. También al analizar por año, se ve un incremento en Unidades de Fomento (UFs) del valor de los aranceles.

Preguntas

  1. ¿Se puede predecir las características de las matrículas para años futuros considerando los datos actuales?
  2. ¿Cuáles son las características y tendencias de las personas que se cambian de carrera?
  3. ¿Cuánto valor le agrega la acreditación a una carrera?
  4. ¿Existe una relación entre costo de carrera y otras variables?

Desarrollo de las preguntas

En esta sección se detallan la metodología planteada en el hito 2, la implementación de cada pregunta y los resultados obtenidos.

Pregunta 1: ¿Se puede predecir las características de las matrículas para años futuros considerando los datos actuales?

Esta pregunta está mayormente respondida y diseñada por Alonso Uribe

Metodología

Antes de esto hay que replantearse la pregunta, y para esto se debe definir concretamente cuáles son las características de las matrículas. En el caso de que fueran instancias, es decir, cada matrícula ingresada, entonces esta pregunta sería equivalente a la pregunta dos: debemos predecir características en personas, aunque en este caso no nos estaríamos centrando en personas que se cambian de carrera. En el caso de que fueran características macroscópicas, se deben evitar preguntas triviales, que involucren directamente indicadores como promedios, varianzas, número de sucesos, etc., que debieron ser estudiadas en el hito anterior. Una alternativa interesante podría ser generar clusters con los vectores totales (luego aplicar one hot) de cada instancia. y ver su evolución temporal: ¿dónde está el centro de cada uno, por año?, ¿cómo van cambiando ciertos indicadores de validación: Inercia, Separación, Cohesión,?, ¿cómo va cambiando la densidad de clusters?. Junto a esto podemos ir comparando con valores más tangibles como promedios, varianzas, etc. (ej: varianza regional del valor de arancel).

Para responder esta pregunta, se deben completar tres pasos previos:

  1. Utilizar nuevamente como vectorización preliminar one hot encoding para ingresar las instancias como vectores de dimensión igual al número de columnas. Habrá que tener cuidado interpretando los clusters y el espacio vectorial en el que residen. En este vector, por ejemplo, la columna de rango de edad (ej: 18 y 20 años) tendría igual peso que la del tipo de estudio superior (ej: Doctorado); los dos marcarían un 1 en su dimensión correspondiente, y en las demás, de su misma naturaleza, un 0.

  2. Generar Clustering con ciertos atributos seleccionados gracias a la exploración realizada en el hito 1. Con esto, y la correspondiente validación del clustering, podremos cuantificar potenciales patrones de agrupación.

    2.1 Primeramente se utilizará el Coeficiente de Silhouette para verificar la viabilidad del cluster, si fuese negativo, se trataría de generar un vector (por instancia) preliminar compuesto de otra manera, o también podría ser interesante crear para cada columna un vector y comprobar si podemos, mediante algún tipo de operación, unificarlos todos, de forma que el clustering de cuenta de estructuras particulares.

    2.2 Se hará uso de la métrica Cohesión, Separación e Inercia, junto a la visualización de su Matriz de proximidad, una vez encontrado un coeficiente de Silhouette positivo, con el propósito de seguir evaluando las estructuras subyacentes en los datos.

    2.3 Podemos tomar este proceso como una forma sistemática de vectorizar instancias, de modo que luego quedar satisfechos (o de plano probar con varias) con un encoding podremos proseguir al paso 3.

  3. Luego de tener un vector para cada instancia, podemos reducir su dimensionalidad y visualizar los clusters, como primera opción mediante PCA, pero existen varias por explorar. Luego de esto tendremos instancias medianamente interpretables, y que facilitarán su manejo en algoritmos de Regresión. Como ya se dijo en un inicio, otro posible estudio es el de la dinámica de los cluster, sus propiedades (ej: su densidad), y la correlación que estas variables guardan con indicadores macroscópicos en las matrículas(ej: valor arancel medio, arancel medio por región, etc.).

Implementación

El grueso del código quedará en anexo. Enseguida, se describe a grandes rasgos la implementación.

Se selecciona nuevamente una colección de columnas relevantes para nuestra pregunta, como criterio de selección se consideran las que se puedan relacionar menos con instancias particulares y más con características macroscópicas en el año de matrículas.
Se genera un enconding para cada una de las columnas categóricas, dando valores ordinales a las columnas, para luego facilitar la conversión a one-hot enconding. Este one-hot consiste en un solo vector de ceros y unos, el que recopila todas las columnas.
Teniendo estos vectores, se explora diferentes métodos de clusterings, se selecciona K-Means, al dar los mejores resultados (aún asi deficientes) en Coef. de Silhouette, se encontró el número óptimo de clusters mediante el método del "codo". El clustering es exclusivamente realizado en espacio One-hot, no se ahonda en el movimiento realizado en otros espacios.

Método del "codo" entrega cualitativamente 20 clusters.
Coef. de Sillhouete de Clustering Jerarquico(ward): 0.05 en espacio PCA; 0.05 en espacio One-hot.
Coef. de Sillhouete de KMeans: 0.02 en espacio PCA; 0.10 en espacio One-hot.
Coef. de Sillhouete de DBSCAN: 0.72 en espacio PCA; 0.13 en espacio One-hot.

El seguimiento de los clusters a través de los años corresponde al desafio más importante de nuestro experimento. Para esto, los cluster se etiquetaron al seleccionar una columna relevante (arbitraria), y a cada cluster se le asigna el lugar n-ésimo en un contador de apariciones de un valor (nuevamente arbitrario) de la columna. De esta forma tenemos algún criterio para hacer un seguimiento a través de los años. Este criterio puede ser mayormente teorizado para mejorar la interpletabilidad del movimiento y su correlación con variables macroscópicas.
Enseguida se generó otro enconding mediante PCA (no se profundizo en la busqueda de métodos más avanzados de enconding). Como el proceso de PCA desde un enconding One-hot es costoso, se trabaja con una porción aleatoria de instancias de cada año. El año tiene alrededor de 106 de instancias, se saco una muestra de 104 instancias.

Luego, para cada año se grafica un scatterplot de los clusters etiquetados en estacio One-hot, genera una Matriz de Proximidad y, a su vez, se hace un seguimiento de cada cluster por separado, estos dos en espacio PCA.

Clustering y Matriz de Proximidad para 2010.

clus10

Clustering y Matriz de Proximidad para 2015.

clus15

Movimiento del cluster n° 2, 14 y 17 (izquierda a derecha) desde el año 2010 al año 2019.

mov2 mov14 mov17

Pregunta 2: ¿Cuáles son las características y tendencias de las personas que se cambian de carrera?

Esta pregunta está mayormente respondida y diseñada por Javiera Alegria

Metodología

Para responder la pregunta 2 primero es importante notar que es posible determinar quienes se han cambiado de carrera con los datos actuales, por lo tanto, se utilizará clasificación para buscar perfiles de personas que podrían cambiarse de carrera en el futuro. Así, las clases posibles son “se cambió de carrera” y “no se cambió de carrera”, y nuestra clase positiva corresponde a quienes sí se han cambiado de carrera, pues es lo que queremos evitar.

Entonces lo primero es disminuir la dimensionalidad de los datos, para esto se agregará una nueva columna que describe el tiempo que lleva la persona cursando su carrera actual, así esta resume la información de las columnas cat_periodo y ANIO_ING_CARR_ACT, su creación sería a través de la resta de los años de ANIO_ING_CARR_ACT y cat_periodo. Por otro lado, se requiere una columna que indique la clase de la fila, la que resumiría la información de las columnas ANIO_ING_CARR_ORI y ANIO_ING_CARR_ACT; para obtenerla haremos una restricción con la siguiente query: row.cat_periodo != row.anio_ing_carr_ori and row.cat_periodo == row.anio_ing_carr_act. De igual manera, se utiliza la información de NIVEL_GLOBAL para limitar los datos a las matriculas de pregrado, pues solo aquí tiene sentido el análisis.

Adicionalmente se mantendremos las siguientes columnas; GEN_ALU, RANGO_EDAD, TIPO_INST_3, JORNADA, TIPO_PLAN_CARR, DUR_ESTUDIO_CARR, NIVEL_CARRERA_1, VALOR_MATRICULA, VALOR_ARANCEL, OECD_AREA, ACREDITADA_CARR, ACREDITADA_INST. Donde se incluye una sola columna relacionada a la duración de la carrera pues se observa una estrecha relación entre DUR_ESTUDIO_CARR y DUR_TOTAL_CARR; una correlación de 0.99. A pesar de esto siguen siendo demasiadas columnas, por lo que aplicaremos la transformación One Hot sobre los datos restringidos y eliminaremos las columnas que tengan correlación cercana a 1 o a -1.

Una vez determinadas las columnas a utilizar se busca encontrar el mejor algoritmo de clasificación, para lo cual se evaluarán las métricas de los algoritmos KNN, Naive Bayes, Support Vector Machine y Árbol de Decisión. Estas métricas serán evaluadas con la técnica holdout, dejando 1/3 de los datos para entrenar y aplicando estratificación sobre las particiones, pero, además, se observará el desempeño aplicando subsampling sobre la clase negativa, oversampling sobre la clase positiva y el caso en que no se aplica ninguno, esto al considerar que son pocos los alumnos que se cambian de carrera anualmente.

Por último, usaremos matriz de confusión para observar el desempeño, poniendo especial atención en la métrica recall, dado que no es un gran problema tener falsos positivos, pues lo que se busca es mejorar la información entregada a estudiantes previo a su primera matrícula, considerando quienes tienen un perfil con mayor probabilidad de deserción de su primera carrera.

Implementación

Con el fin de analizar la correlación entre columnas, se genera un HeatMap con los datos, el resultado se muestra a continuación, mientras que el código se muestra en la sección Anexos, Implementación, Pregunta 2.

Correlación entre parámetros seleccionadosGEN_ALUrango_edad_15 a 19 añosrango_edad_20 a 24 añosrango_edad_25 a 29 añosrango_edad_30 a 34 añosrango_edad_35 a 39 añosrango_edad_40 y más añostipo_inst_3_Centros de Formación Técnicatipo_inst_3_Institutos Profesionalestipo_inst_3_Universidades Estatales CRUCHtipo_inst_3_Universidades Privadastipo_inst_3_Universidades Privadas CRUCHjornada_A Distanciajornada_Diurnojornada_Otrojornada_Semipresencialjornada_Vespertinotipo_plan_carr_Plan Especialtipo_plan_carr_Plan Regulartipo_plan_carr_Plan Regular de Continuidaddur_estudio_carrnivel_carrera_1_Bachillerato, Ciclo Inicial o Plan Comúnnivel_carrera_1_Licenciatura No Conducente a Títulonivel_carrera_1_Profesional Con Licenciaturanivel_carrera_1_Profesional Sin Licenciaturanivel_carrera_1_Técnico de Nivel Superioroecd_area_Agriculturaoecd_area_Cienciasoecd_area_Ciencias Sociales, Enseñanza Comercial y Derechooecd_area_Educaciónoecd_area_Humanidades y Artesoecd_area_Ingeniería, Industria y Construcciónoecd_area_Salud y Servicios Socialesoecd_area_Serviciosoecd_area_Sin área definidaacreditada_carr_Falseacreditada_carr_Trueacreditada_instanio_en_carr_actualClassGEN_ALUrango_edad_15 a 19 añosrango_edad_20 a 24 añosrango_edad_25 a 29 añosrango_edad_30 a 34 añosrango_edad_35 a 39 añosrango_edad_40 y más añostipo_inst_3_Centros de Formación Técnicatipo_inst_3_Institutos Profesionalestipo_inst_3_Universidades Estatales CRUCHtipo_inst_3_Universidades Privadastipo_inst_3_Universidades Privadas CRUCHjornada_A Distanciajornada_Diurnojornada_Otrojornada_Semipresencialjornada_Vespertinotipo_plan_carr_Plan Especialtipo_plan_carr_Plan Regulartipo_plan_carr_Plan Regular de Continuidaddur_estudio_carrnivel_carrera_1_Bachillerato, Ciclo Inicial o Plan Comúnnivel_carrera_1_Licenciatura No Conducente a Títulonivel_carrera_1_Profesional Con Licenciaturanivel_carrera_1_Profesional Sin Licenciaturanivel_carrera_1_Técnico de Nivel Superioroecd_area_Agriculturaoecd_area_Cienciasoecd_area_Ciencias Sociales, Enseñanza Comercial y Derechooecd_area_Educaciónoecd_area_Humanidades y Artesoecd_area_Ingeniería, Industria y Construcciónoecd_area_Salud y Servicios Socialesoecd_area_Serviciosoecd_area_Sin área definidaacreditada_carr_Falseacreditada_carr_Trueacreditada_instanio_en_carr_actualClasscat periodoMRUNGEN ALUFEC NAC ALUanio ing carr orisem ing carr orianio ing carr actsem ing carr actcod instcod sedecod carreraversiondur estudio carrdur proceso titdur total carrvalor matriculavalor arancelcodigo demreacre inst anionivel carrera 2 Carreras Profesionalesnivel carrera 2 Carreras Técnicasnivel carrera 2 Doctoradonivel carrera 2 Magisternivel carrera 2 Postítuloregion sede Antofagastaregion sede Arica y Parinacotaregion sede Atacamaregion sede Aysénregion sede Biobíoregion sede Coquimboregion sede La Araucaníaregion sede Lib. Gral B. O'Higginsregion sede Los Lagosregion sede Los Ríosregion sede Magallanesregion sede Mauleregion sede Metropolitanaregion sede Tarapacáregion sede Valparaísoregion sede Ñublearea conocimiento Administración y Comercioarea conocimiento Agropecuariaarea conocimiento Arte y Arquitecturaarea conocimiento Ciencias Básicasarea conocimiento Ciencias Socialesarea conocimiento Derechoarea conocimiento Educaciónarea conocimiento Humanidadesarea conocimiento Saludarea conocimiento Sin área definidaarea conocimiento Tecnologíatipo inst 2 Centros de Formación Técnicatipo inst 2 Institutos Profesionalestipo inst 2 Universidades (* Carrera en Convenio)tipo inst 2 Universidades CRUCHtipo inst 2 Universidades Privadasacreditada carr ACREDITADAacreditada carr NO ACREDITADAacreditada inst ACREDITADAacreditada inst NO ACREDITADAjornada A Distanciajornada Diurnojornada Otrojornada Semipresencialjornada Vespertinomodalidad No Presencialmodalidad Presencialmodalidad Semipresencialrango edad 15 a 19 añosrango edad 20 a 24 añosrango edad 25 a 29 añosrango edad 30 a 34 añosrango edad 35 a 39 añosrango edad 40 y más añosrequisito ingreso Bachilleratorequisito ingreso Ciclo Básicorequisito ingreso Educación Mediarequisito ingreso Especialidad Médica u Odontológicarequisito ingreso Licenciaturarequisito ingreso Magísterrequisito ingreso Plan Comúnrequisito ingreso Postítulorequisito ingreso Técnico de Nivel Superiorrequisito ingreso Título Profesionaltipo plan carr Plan Especialtipo plan carr Plan Regulartipo plan carr Plan Regular de Continuidadvigencia carrera VIGENTE CON ALUMNOS NUEVOSvigencia carrera VIGENTE SIN ALUMNOS NUEVOScat periodoMRUNGEN ALUFEC NAC ALUanio ing carr orisem ing carr orianio ing carr actsem ing carr actcod instcod sedecod carreraversiondur estudio carrdur proceso titdur total carrvalor matriculavalor arancelcodigo demreacre inst anionivel carrera 2 Carreras Profesionalesnivel carrera 2 Carreras Técnicasnivel carrera 2 Doctoradonivel carrera 2 Magisternivel carrera 2 Postítuloregion sede Antofagastaregion sede Arica y Parinacotaregion sede Atacamaregion sede Aysénregion sede Biobíoregion sede Coquimboregion sede La Araucaníaregion sede Lib. Gral B. O'Higginsregion sede Los Lagosregion sede Los Ríosregion sede Magallanesregion sede Mauleregion sede Metropolitanaregion sede Tarapacáregion sede Valparaísoregion sede Ñublearea conocimiento Administración y Comercioarea conocimiento Agropecuariaarea conocimiento Arte y Arquitecturaarea conocimiento Ciencias Básicasarea conocimiento Ciencias Socialesarea conocimiento Derechoarea conocimiento Educaciónarea conocimiento Humanidadesarea conocimiento Saludarea conocimiento Sin área definidaarea conocimiento Tecnologíatipo inst 2 Centros de Formación Técnicatipo inst 2 Institutos Profesionalestipo inst 2 Universidades (* Carrera en Convenio)tipo inst 2 Universidades CRUCHtipo inst 2 Universidades Privadasacreditada carr ACREDITADAacreditada carr NO ACREDITADAacreditada inst ACREDITADAacreditada inst NO ACREDITADAjornada A Distanciajornada Diurnojornada Otrojornada Semipresencialjornada Vespertinomodalidad No Presencialmodalidad Presencialmodalidad Semipresencialrango edad 15 a 19 añosrango edad 20 a 24 añosrango edad 25 a 29 añosrango edad 30 a 34 añosrango edad 35 a 39 añosrango edad 40 y más añosrequisito ingreso Bachilleratorequisito ingreso Ciclo Básicorequisito ingreso Educación Mediarequisito ingreso Especialidad Médica u Odontológicarequisito ingreso Licenciaturarequisito ingreso Magísterrequisito ingreso Plan Comúnrequisito ingreso Postítulorequisito ingreso Técnico de Nivel Superiorrequisito ingreso Título Profesionaltipo plan carr Plan Especialtipo plan carr Plan Regulartipo plan carr Plan Regular de Continuidadvigencia carrera VIGENTE CON ALUMNOS NUEVOSvigencia carrera VIGENTE SIN ALUMNOS NUEVOS
Correlación entre parámetros seleccionadosGEN_ALUrango_edad_15 a 19 añosrango_edad_20 a 24 añosrango_edad_25 a 29 añosrango_edad_30 a 34 añosrango_edad_35 a 39 añosrango_edad_40 y más añostipo_inst_3_Centros de Formación Técnicatipo_inst_3_Institutos Profesionalestipo_inst_3_Universidades Estatales CRUCHtipo_inst_3_Universidades Privadastipo_inst_3_Universidades Privadas CRUCHjornada_A Distanciajornada_Diurnojornada_Otrojornada_Semipresencialjornada_Vespertinotipo_plan_carr_Plan Especialtipo_plan_carr_Plan Regulartipo_plan_carr_Plan Regular de Continuidaddur_estudio_carrnivel_carrera_1_Bachillerato, Ciclo Inicial o Plan Comúnnivel_carrera_1_Licenciatura No Conducente a Títulonivel_carrera_1_Profesional Con Licenciaturanivel_carrera_1_Profesional Sin Licenciaturanivel_carrera_1_Técnico de Nivel Superioroecd_area_Agriculturaoecd_area_Cienciasoecd_area_Ciencias Sociales, Enseñanza Comercial y Derechooecd_area_Educaciónoecd_area_Humanidades y Artesoecd_area_Ingeniería, Industria y Construcciónoecd_area_Salud y Servicios Socialesoecd_area_Serviciosoecd_area_Sin área definidaacreditada_carr_Falseacreditada_carr_Trueacreditada_instanio_en_carr_actualClassGEN_ALUrango_edad_15 a 19 añosrango_edad_20 a 24 añosrango_edad_25 a 29 añosrango_edad_30 a 34 añosrango_edad_35 a 39 añosrango_edad_40 y más añostipo_inst_3_Centros de Formación Técnicatipo_inst_3_Institutos Profesionalestipo_inst_3_Universidades Estatales CRUCHtipo_inst_3_Universidades Privadastipo_inst_3_Universidades Privadas CRUCHjornada_A Distanciajornada_Diurnojornada_Otrojornada_Semipresencialjornada_Vespertinotipo_plan_carr_Plan Especialtipo_plan_carr_Plan Regulartipo_plan_carr_Plan Regular de Continuidaddur_estudio_carrnivel_carrera_1_Bachillerato, Ciclo Inicial o Plan Comúnnivel_carrera_1_Licenciatura No Conducente a Títulonivel_carrera_1_Profesional Con Licenciaturanivel_carrera_1_Profesional Sin Licenciaturanivel_carrera_1_Técnico de Nivel Superioroecd_area_Agriculturaoecd_area_Cienciasoecd_area_Ciencias Sociales, Enseñanza Comercial y Derechooecd_area_Educaciónoecd_area_Humanidades y Artesoecd_area_Ingeniería, Industria y Construcciónoecd_area_Salud y Servicios Socialesoecd_area_Serviciosoecd_area_Sin área definidaacreditada_carr_Falseacreditada_carr_Trueacreditada_instanio_en_carr_actualClass
Correlación de -0.005778170322978428 entre jornada_Otro y anio_en_carr_actual

Para analizar el comportamiento con oversampling, subsampling y con los datos normales se crearon dos funciones basandose en el código del laboratorio 2; get_data_dict(df, testSize) que genera un diccionario con los conjuntos de testeo y de cada tipo de entrenamiento, y train(Classifier, data_dict) que recibe el diccionario anterior y un clasificador, y retorna tres clasificadores entrenados con cada uno de los conjuntos, e imprime sus métricas. Estas funciones se adjuntan en la sección Anexo, Implementación, Pregunta 2.

Se decide observar, en primera instancia, el rendimiento de los clasificadores al ser entrenados con solo el 0,5% de los datos, es decir, 10000 entradas aproximadamente. Esto por la cantidad de datos que contiene el dataframe completo. Así, para los datos con oversampling en la clase verdadera se cuentan con 92054 datos en cada clase y para los datos con subsampling en la clase falsa se tiene 955 datos en cada clase.

Los resultados de las métricas obtenidos para cada clasificador se adjuntan en la tabla siguiente y los códigos en la sección Anexos, Implementación, Pregunta 2.

Notemos que SVM no se pudo terminar de ejecutar pues requiere demasiados recursos.

Se observa que SVM y KNN utilizan muchos recursos de la máquina para tan pocos datos, además, en general las métricas de KNN no presentan una mejora considerable a comparación de Naive Bayes y Árbol de Decisión, y SVM presenta muy malos resultados en especial respecto a la métrica recall de la clase verdadera. Así, se descartan tanto SVM como KNN para entrenar con todos los datos. A partir de aquí se entrenan los clasificadores con el 30% de los datos, lo que implica 1288824 datos para el caso del oversampling de la clase verdadera y 133669 datos para el caso del subsampling sobre la clase falsa.

Los resultados se adjuntan en la tabla siguiente, mientras que el código se adjunta en la sección Anexo, Implementación, Pregunta 2.

Con lo anterior vemos que el clasificador Árbol de Decisión con Oversampling y con Subsampling presenta iguales y mejores métricas, pues si bien Naive Bayes alcanza un recall de 0.96, a su vez presenta una precisión demasiado baja, de 0.32. Al observar detenidamente las metricas de Árbol de Decisión con Oversampling y con Subsampling vemos una ligera diferencia que nos permite decidir por Árbol de Decisión con Oversampling. Así, hemos obtenido un clasificador capaz de identificar a personas que se cambiarán de carrera, de modo que se pueden implementar medidas para prevenir dicha situación y, de esta manera, ayudar al futuro de los estudiantes.

Pregunta 3: ¿Cuánto valor le agrega la acreditación a una carrera?

Esta pregunta está mayormente respondida y diseñada por Erick Perez

Metodología

La dificultad de esta pregunta radica en definir el concepto de valor y preprocesar los datos de manera favorable, que faciliten el análisis con esto en mente se presenta la siguiente metodología por pasos.

Implementación

Pregunta 4: ¿Existe una relación entre costo de carrera y otras variables?

Esta pregunta está mayormente respondida y diseñada por Adriana Concha

Metodología

Siguiendo la sugerencia del cuerpo docente para el Hito 2 y aplicando las nuevas técnicas de minería de datos aprendidas en el curso desde entonces, se decidió responder esta pregunta utilizando Reglas de asociación. En la iteración anterior se propuso utilizar clustering, sin embargo, la búsqueda de reglas de asociación se adapta mejor a la búsqueda de relaciones entre variables. El objetivo de esta pregunta es extraer reglas y relaciones entre la variable valor del arancel y otras variables de las matrículas de educación superior , para poder realizar un análisis sobre éstas.

Propuesta experimental:

Implementación

La implementación en detalle de esta pregunta se puede ver en Anexos, Implementación, Pregunta 4. Se utilizaron 1268504 registros para el año 2019, añadiendo las categorías para valor de arancel y de matrícula.

Se obtuvieron los siguientes items más frecuentes con el algoritmo ECLAT.

Utilizando el algoritmo APRIORI se generaron 8484 reglas, con support mayor a 4% y confidence mayor a 30%. Como se observa en el gráfico de dispersión, la mayoría de las reglas poseen un support menor al 20%.

Dentro de las reglas generadas, se identificaron las siguientes reglas que llevan como consecuente a un Arancel Alto. Por ejemplo, de esto se puede concluir con un 4% de support y 92% de confidence, que una matrícula en una Universidad Privada, Acreditada, Diurna, en el área de la Salud con una Matrícula alta, lleva a tener un Arancel Alto. Esto con un lift de 2.76.

Por otra parte, se identificaron las siguientes reglas que implican un Arancel Bajo. Por ejemplo, con un lift de 3, support 4% y confidence 100%, se puede concluir que una matrícula en una carrera de 5 años, en un Instituto Profesional con matrícula baja, implicará un Arancel Bajo.

En la siguiente visualización, se pueden ver las relaciones entre las Top 50 reglas generadas, con mayor lift, para consecuente Arancel Bajo. Se observa que los mayores lift se obtienen a partir de precedentes Área: Administración y Comercio, Matrícula baja y Centros de formación técnica. Los métodos A Distancia, a pesar de su bajo support, también presentan un lift alto para generar Arancel Bajo.

Así, se logró identificar cómo la variables acreditación, tipo de institución, duración de carrera y área de conocimiento influyen en el valor del arancel. Por ejemplo, con 92% de confianza, se puede decir que una carrera acreditada del área de la salud en la Región Metropolitana implica un arancel alto. Por otra parte, con 100% de confianza una carrera de 5 años en un Instituto Profesional implica un Arancel Bajo. Cabe destacar que las principales reglas de asociación obtenidas con consecuente una categoría de valor de arancel, poseen lift superiores a 1, por lo que se concluye que la ocurrencia de los valores de los precedentes influyen positivamente en la valorización del arancel.

Conclusiones

Gracias a todo lo ya mencionado se logró responder a las preguntas iniciales, obteniendo información relevante a través de la minería de datos. Entre los aportes se destaca el reconocimiento de la obtención de un clasificador que permite conocer si un alumno cambiará de carrera, junto a la identificación de las principales variables influyentes en el valor del arancel, y []. Todo esto permite caracterizar la educación superior en Chile y, más aún, otorga información trascendental para avanzar en mejoras que ayuden a quienes busquen continuar sus estudios en la educación superior.

Por otro lado, analizando el desarrollo del proyecto, consideramos que las herramientas entregadas en el curso fueron de gran utilidad

Trabajo futuro

Si bien se lograron conclusiones importantes, esto no implica que no exista margen de mejora. Así, como desafío a futuro, se espera analizar nuevamente la relación entre las variables estudiadas, a través de los años, considerando también cómo se relaciona la modalidad remota con el valor de arancel para los años 2020 y 2021.

Anexos

DataSet

Descripción del dataset dado por el Mineduc aquí.

Limpieza de los datos

Con el fin de limpiar los datos se utiliza el código siguiente:

A continuación se muestra el código utilizado para obtener los gráficos relativos a la cantidad de datos anuales y al porcentaje de datos nulos en cada año.

Para entender mejor los datos se observan las columnas de cada

OneHot

El siguiente bloque muestra el código utilizado para aplicar One Hot sobre las columnas de los años 2011, 2015 y 2019, tal como se detalla en la sección Correlación entre Columnas de Análisis Exploratorio.

HeatMap

El HeatMap de la sección Correlación entre columnas de Análisis Exploratorio se muestra a continuación

Comportamiento de los datos

A continuación se muestra el código para obtener los datos relacionados a la pregunta ¿Cómo se relaciona el área de conocimiento de la carrera con la edad y género de la persona que se matricula?.

El siguiente es el código utilizado para obtener los datos del gráfico que responde a la pregunta ¿Existe una correlación entre el costo de las carreras y su ubicación geográfica? ¿Varía esto a través de los años?

Implementación

Pregunta 2

El código utilizado para generar el Heatmap se muestra a continuación:

Las funciones train(Classifier, data_dict) y get_data_dict(df, testSize) se muestran a continuación

Para entrenar cada modelo y ver sus métricas se hizo como sigue;

Para entrenar los clasificadores Árbol de Decisión y Naive bayes con el 70% de los datos se utilizó el siguiente código:

Pregunta 4

El código a continuación está en lenguaje R.

Muestra de los datos con categorías para arancel y matrícula

Items frecuentes con mayor support de acuerdo a algoritmo ECLAT

Top 10 reglas con mayor lift, usando APRIORI

Reglas que implican Arancel Alto (AA)

Reglas que implican Arancel Alto (AA): Top 50 reglas

Reglas que implican Arancel Medio (AM)

Reglas que implican Arancel Alto (AM): Top 50 reglas

Reglas que implican Arancel Bajo (AB)

Reglas que implican Arancel Bajo (AB): Top 50 reglas